草庐IT

Java FileWriter - 追加一行文本文件

全部标签

c++ - 使用 g++ 构建 64 位可执行文件

我在solaris10x86机器上构建g++3.4.6。使用这个g++,我尝试使用-m64选项构建一个64位二进制文​​件g++-m64test.cpp-otest.exe我没有遇到任何问题。然后我将整个gcc安装目录复制到另一台solaris机器(相同的硬件和操作系统)(让我们称之为机器2)。但是现在如果我试图构建一个64位二进制文​​件,我会收到以下错误test.cpp:1:sorry,unimplemented:64-bitmodenotcompiledin但是,当我使用机器2上可用的另一个版本的g++编译器(3.4.3)构建64位二进制文​​件时,我没有收到任何错误。这让我很困

c++ - VS2010 在不同平台上生成的可执行文件应该不同吗?

我在VisualStudio2010v10.0.40219.1SP1Rel下有一个大型C++项目,我开始在我们的一个回归测试中看到一个错误。当我在dev机器上检查bug时,我无法让它发生,所以我将exes从测试机器复制到dev机器,bug出现了。然后我从测试机器上删除了包括项目在内的源代码树,从开发机器上复制它们,在测试机器上清理并重建它们,但错误仍然存​​在。所以基本上,在我的开发PC上使用相同的项目和配置构建的可执行文件,使用相同的编译器版本和安装的修补程序,与在测试PC上构建的不同。唯一的区别是开发PC运行的是Windows764,而测试PC运行的是XP。我还检查了所有链接的LI

c++ - 如何将 C/C++ 编译为 CP/M-86 可执行文件 (CMD)

我有这个项目:使用现代编译器将C/C++程序编译为CP/M-86可执行文件(CMD文件)。目标架构是16位x86。您可能认为我疯了,但我这样做是为了好玩,也是为了了解CP/M-86和一般的低级x86编程。我对x86汇编程序编程知之甚少,但我已经完成了一个“HelloWorld”示例,我可以使用ASM86和GENCMD生成CMD文件。它有效。ASM86是CP/M-86的汇编程序,它将生成一个H86文件,即(据我所知)英特尔十六进制代码。GENCMD读取此HEX文件并创建CMD可执行文件。CMD是DOS和Windows中已知的EXE可执行文件的CP/M-86等价物。我有一个“现代”工具,可

c++ - 如何查找和替换文本文件中的一行数据 C++

我正在尝试用C++查找和替换文本文件中的一行数据。但老实说,我不知道从哪里开始。我正在考虑使用replaceNumber.open("test.txt",ios::in|ios::out|ios_base::beg|ios::app);要在开头打开文件并在其上追加,但这不起作用。有谁知道完成这个任务的方法吗?谢谢编辑:我的文本文件只有一行,它包含一个数字,例如504。然后用户指定要减去的数字,然后该结果应替换文本文件中的原始数字。 最佳答案 是的,您可以使用std::fstream执行此操作,这是我快速完成的一个快速实现。您打开文件

c++ - 找出用于编译可执行文件/DLL 的 Boost 版本

有什么方法可以使用“字符串”或其他一些命令来决定使用哪个版本的Boost来编译特定的可执行文件或.so?我所拥有的只是可执行文件/.so本身。 最佳答案 Boost主要是一个只有头文件的库,广泛使用模板(所有模板都可能编译成一些优化的二进制文件)。仅给定可执行二进制文件,您很可能无法推断出所使用的Boost版本。可能是您了解使用哪个Boost版本的唯一方法是查看可执行文件的版本号(如果有的话),然后在它来自的源代码控制存储库中查找(如果您有权访问它)。 关于c++-找出用于编译可执行文件

c++ - 大型可执行文件导致调试器挂起

我有一个大小为190MB的C++二进制文件。当我将此二进制文件放入dbx并尝试创建断点时,dbx挂起。当dbx挂起时,我观察到它的内存迅速增长到10GB以上。TotalView允许我设置断点;但是,它显示的所有数据都是伪造的。我已经成功调试了许多其他较小的二进制文件,所以我的直觉是这个二进制文件的大小是问题所在。二进制:ELF32位MSB可执行文件SPARC32PLUS版本1,V8+必需,动态链接,未剥离。编译器:CC:SunC++5.9SunOS_sparc2007/05/03。Dbx:7.6SunOS_sparc2007/05/03。总View:8.2.0-0操作系统:Solari

c++ - 从文本文件中读取,然后在程序中使用输入

我想让一个程序读取一个包含20个字符的文本文件,这些字符在不同的行上。然后我想将这些字符与程序中的预编程字母进行比较,它将输出错误的字符和完全错误的字符。我已经成功构建了可以手动输入字母的程序,它会按照我的意愿运行,但我在代码中使用文件的知识有限。我已经读过有关vector的内容,但我想先保持简单并在尝试学习其他东西之前掌握它。我试图设置一些类似于我认为它应该看起来像的代码。我现在没有收到任何错误...如何从文件中获取文本到程序中?我构建了一个几乎可以做到的代码,但无法弄清楚连接它的最后步骤。有人可以帮助引导我朝着正确的方向前进吗?提前致谢。在这个论坛的帮助下,我学到的东西比我想象的要

c++ - 读取dll文件中的文本文件

设置MicrosoftVisualStudioProfessional2015,在Windows10Pro上运行Unity5.3.1f1(x64)该项目建立在Unity在其site.上提供的示例项目之上。该项目可以找到here.需要做的事情我正在考虑创建一个用于Unity的opengl插件(以dll的形式)。在他们的示例代码中,vertex和fragment着色器在代码中是硬编码的,如下所示:#defineVPROG_SRC(ver,attr,varying)\ver\attr"highpvec3pos;\n"\attr"lowpvec4color;\n"\"\n"\varying"l

c++ - 通过 shell 脚本检查 C++ 可执行文件的返回值

我正在使用cygwin在Windows上运行一个shell脚本,我在其中多次执行一个程序,每次都使用不同的参数。有时,程序会为某些输入参数生成段错误。我想生成一个文本文件,shell脚本可以在其中写入哪些输入,程序失败了。基本上我想在每次运行时检查程序的返回值。这里我假设当程序失败时,它返回一个与成功时不同的值。我不确定这一点。可执行文件是一个C++程序。这有可能吗?请指导。如果可能,请提供shell脚本的代码片段。此外,请说明返回的所有值是什么。我的脚本是.sh文件。 最佳答案 最后一个完成的程序的返回值在环境变量$?中可用。

c++ - 从没有空格的文本文件中读取数字

我正在尝试将一个12位数字从文本文件读取到数组中。如果我在每个数字之间放置空格,我就能够成功地做到这一点。例如:111111111111但是当我删除数字之间的空格时,我的程序不再能够从文本文件中分配数组。例如:111111111111我确信答案很简单,但我无法在任何地方找到我的确切问题的解决方案。下面是我用来分配数组的while循环。voidint_class::allocate_array(std::ifstream&in,constchar*file){//openfilein.open(file);//readfileintoarrayinti=0;while(!in.eof()